////////////////////////////////////////////////////////////////////
//  (c) Copyright 2014 Xilinx, Inc. All rights reserved.
//
//  This file contains confidential and proprietary information
//  of Xilinx, Inc. and is protected under U.S. and
//  international copyright and other intellectual property
//  laws.
//
//  DISCLAIMER
//  This disclaimer is not a license and does not grant any
//  rights to the materials distributed herewith. Except as
//  otherwise provided in a valid license issued to you by
//  Xilinx, and to the maximum extent permitted by applicable
//  law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
//  WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
//  AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
//  BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
//  INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
//  (2) Xilinx shall not be liable (whether in contract or tort,
//  including negligence, or under any other theory of
//  liability) for any loss or damage of any kind or nature
//  related to, arising under or in connection with these
//  materials, including for any direct, or any indirect,
//  special, incidental, or consequential loss or damage
//  (including loss of data, profits, goodwill, or any type of
//  loss or damage suffered as a result of any action brought
//  by a third party) even if such damage or loss was
//  reasonably foreseeable or Xilinx had been advised of the
//  possibility of the same.
//
//  CRITICAL APPLICATIONS
//  Xilinx products are not designed or intended to be fail-
//  safe, or for use in any application requiring fail-safe
//  performance, such as life-support or safety devices or
//  systems, Class III medical devices, nuclear facilities,
//  applications related to the deployment of airbags, or any
//  other applications that could lead to death, personal
//  injury, or severe property or environmental damage
//  (individually and collectively, "Critical
//  Applications"). Customer assumes the sole risk and
//  liability of any use of Xilinx products in Critical
//  Applications, subject only to applicable laws and
//  regulations governing limitations on product liability.
//
//  THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
//  PART OF THIS FILE AT ALL TIMES.
////////////////////////////////////////////////////////////////////
// Unit     : ieee802d3_200g_rs_fec_v1_0_4_dec_func_gfinv.vh
// Function : 
// Galois field inverter for RS(528,514). 
////////////////////////////////////////////////////////////////////

//---------------------------------------------------------------------------
// Function: func_gfinv
//---------------------------------------------------------------------------
  function [9:0] func_gfinv;
     input [9:0] idx;
  begin

     case (idx)
        10'h000 : func_gfinv = 10'h000;
        10'h001 : func_gfinv = 10'h001;
        10'h002 : func_gfinv = 10'h204;
        10'h003 : func_gfinv = 10'h3f8;
        10'h004 : func_gfinv = 10'h102;
        10'h005 : func_gfinv = 10'h2af;
        10'h006 : func_gfinv = 10'h1fc;
        10'h007 : func_gfinv = 10'h2de;
        10'h008 : func_gfinv = 10'h081;
        10'h009 : func_gfinv = 10'h24d;
        10'h00a : func_gfinv = 10'h353;
        10'h00b : func_gfinv = 10'h0b8;
        10'h00c : func_gfinv = 10'h0fe;
        10'h00d : func_gfinv = 10'h0e8;
        10'h00e : func_gfinv = 10'h16f;
        10'h00f : func_gfinv = 10'h262;
        10'h010 : func_gfinv = 10'h244;
        10'h011 : func_gfinv = 10'h1de;
        10'h012 : func_gfinv = 10'h322;
        10'h013 : func_gfinv = 10'h0d6;
        10'h014 : func_gfinv = 10'h3ad;
        10'h015 : func_gfinv = 10'h0f2;
        10'h016 : func_gfinv = 10'h05c;
        10'h017 : func_gfinv = 10'h058;
        10'h018 : func_gfinv = 10'h07f;
        10'h019 : func_gfinv = 10'h3d1;
        10'h01a : func_gfinv = 10'h074;
        10'h01b : func_gfinv = 10'h23c;
        10'h01c : func_gfinv = 10'h2b3;
        10'h01d : func_gfinv = 10'h068;
        10'h01e : func_gfinv = 10'h131;
        10'h01f : func_gfinv = 10'h18f;
        10'h020 : func_gfinv = 10'h122;
        10'h021 : func_gfinv = 10'h085;
        10'h022 : func_gfinv = 10'h0ef;
        10'h023 : func_gfinv = 10'h2fd;
        10'h024 : func_gfinv = 10'h191;
        10'h025 : func_gfinv = 10'h278;
        10'h026 : func_gfinv = 10'h06b;
        10'h027 : func_gfinv = 10'h3df;
        10'h028 : func_gfinv = 10'h3d2;
        10'h029 : func_gfinv = 10'h1a7;
        10'h02a : func_gfinv = 10'h079;
        10'h02b : func_gfinv = 10'h14f;
        10'h02c : func_gfinv = 10'h02e;
        10'h02d : func_gfinv = 10'h213;
        10'h02e : func_gfinv = 10'h02c;
        10'h02f : func_gfinv = 10'h212;
        10'h030 : func_gfinv = 10'h23b;
        10'h031 : func_gfinv = 10'h18b;
        10'h032 : func_gfinv = 10'h3ec;
        10'h033 : func_gfinv = 10'h34d;
        10'h034 : func_gfinv = 10'h03a;
        10'h035 : func_gfinv = 10'h3b5;
        10'h036 : func_gfinv = 10'h11e;
        10'h037 : func_gfinv = 10'h0e7;
        10'h038 : func_gfinv = 10'h35d;
        10'h039 : func_gfinv = 10'h3cf;
        10'h03a : func_gfinv = 10'h034;
        10'h03b : func_gfinv = 10'h3b4;
        10'h03c : func_gfinv = 10'h29c;
        10'h03d : func_gfinv = 10'h3e9;
        10'h03e : func_gfinv = 10'h2c3;
        10'h03f : func_gfinv = 10'h3a9;
        10'h040 : func_gfinv = 10'h091;
        10'h041 : func_gfinv = 10'h167;
        10'h042 : func_gfinv = 10'h246;
        10'h043 : func_gfinv = 10'h087;
        10'h044 : func_gfinv = 10'h273;
        10'h045 : func_gfinv = 10'h1d9;
        10'h046 : func_gfinv = 10'h37a;
        10'h047 : func_gfinv = 10'h2a0;
        10'h048 : func_gfinv = 10'h2cc;
        10'h049 : func_gfinv = 10'h2e2;
        10'h04a : func_gfinv = 10'h13c;
        10'h04b : func_gfinv = 10'h145;
        10'h04c : func_gfinv = 10'h231;
        10'h04d : func_gfinv = 10'h16c;
        10'h04e : func_gfinv = 10'h3eb;
        10'h04f : func_gfinv = 10'h128;
        10'h050 : func_gfinv = 10'h1e9;
        10'h051 : func_gfinv = 10'h0fd;
        10'h052 : func_gfinv = 10'h2d7;
        10'h053 : func_gfinv = 10'h37e;
        10'h054 : func_gfinv = 10'h238;
        10'h055 : func_gfinv = 10'h13b;
        10'h056 : func_gfinv = 10'h2a3;
        10'h057 : func_gfinv = 10'h233;
        10'h058 : func_gfinv = 10'h017;
        10'h059 : func_gfinv = 10'h05d;
        10'h05a : func_gfinv = 10'h30d;
        10'h05b : func_gfinv = 10'h134;
        10'h05c : func_gfinv = 10'h016;
        10'h05d : func_gfinv = 10'h059;
        10'h05e : func_gfinv = 10'h109;
        10'h05f : func_gfinv = 10'h294;
        10'h060 : func_gfinv = 10'h319;
        10'h061 : func_gfinv = 10'h275;
        10'h062 : func_gfinv = 10'h2c1;
        10'h063 : func_gfinv = 10'h384;
        10'h064 : func_gfinv = 10'h1f6;
        10'h065 : func_gfinv = 10'h1ab;
        10'h066 : func_gfinv = 10'h3a2;
        10'h067 : func_gfinv = 10'h136;
        10'h068 : func_gfinv = 10'h01d;
        10'h069 : func_gfinv = 10'h2b2;
        10'h06a : func_gfinv = 10'h3de;
        10'h06b : func_gfinv = 10'h026;
        10'h06c : func_gfinv = 10'h08f;
        10'h06d : func_gfinv = 10'h151;
        10'h06e : func_gfinv = 10'h277;
        10'h06f : func_gfinv = 10'h22f;
        10'h070 : func_gfinv = 10'h3aa;
        10'h071 : func_gfinv = 10'h209;
        10'h072 : func_gfinv = 10'h3e3;
        10'h073 : func_gfinv = 10'h23e;
        10'h074 : func_gfinv = 10'h01a;
        10'h075 : func_gfinv = 10'h23d;
        10'h076 : func_gfinv = 10'h1da;
        10'h077 : func_gfinv = 10'h1f1;
        10'h078 : func_gfinv = 10'h14e;
        10'h079 : func_gfinv = 10'h02a;
        10'h07a : func_gfinv = 10'h3f0;
        10'h07b : func_gfinv = 10'h09d;
        10'h07c : func_gfinv = 10'h365;
        10'h07d : func_gfinv = 10'h0c5;
        10'h07e : func_gfinv = 10'h3d0;
        10'h07f : func_gfinv = 10'h018;
        10'h080 : func_gfinv = 10'h24c;
        10'h081 : func_gfinv = 10'h008;
        10'h082 : func_gfinv = 10'h2b7;
        10'h083 : func_gfinv = 10'h2eb;
        10'h084 : func_gfinv = 10'h123;
        10'h085 : func_gfinv = 10'h021;
        10'h086 : func_gfinv = 10'h247;
        10'h087 : func_gfinv = 10'h043;
        10'h088 : func_gfinv = 10'h33d;
        10'h089 : func_gfinv = 10'h32a;
        10'h08a : func_gfinv = 10'h2e8;
        10'h08b : func_gfinv = 10'h3e1;
        10'h08c : func_gfinv = 10'h1bd;
        10'h08d : func_gfinv = 10'h38c;
        10'h08e : func_gfinv = 10'h150;
        10'h08f : func_gfinv = 10'h06c;
        10'h090 : func_gfinv = 10'h166;
        10'h091 : func_gfinv = 10'h040;
        10'h092 : func_gfinv = 10'h171;
        10'h093 : func_gfinv = 10'h200;
        10'h094 : func_gfinv = 10'h09e;
        10'h095 : func_gfinv = 10'h1ea;
        10'h096 : func_gfinv = 10'h2a6;
        10'h097 : func_gfinv = 10'h333;
        10'h098 : func_gfinv = 10'h31c;
        10'h099 : func_gfinv = 10'h0af;
        10'h09a : func_gfinv = 10'h0b6;
        10'h09b : func_gfinv = 10'h0ce;
        10'h09c : func_gfinv = 10'h3f1;
        10'h09d : func_gfinv = 10'h07b;
        10'h09e : func_gfinv = 10'h094;
        10'h09f : func_gfinv = 10'h1eb;
        10'h0a0 : func_gfinv = 10'h2f0;
        10'h0a1 : func_gfinv = 10'h13f;
        10'h0a2 : func_gfinv = 10'h27a;
        10'h0a3 : func_gfinv = 10'h1d3;
        10'h0a4 : func_gfinv = 10'h36f;
        10'h0a5 : func_gfinv = 10'h17c;
        10'h0a6 : func_gfinv = 10'h1bf;
        10'h0a7 : func_gfinv = 10'h0f0;
        10'h0a8 : func_gfinv = 10'h11c;
        10'h0a9 : func_gfinv = 10'h315;
        10'h0aa : func_gfinv = 10'h299;
        10'h0ab : func_gfinv = 10'h368;
        10'h0ac : func_gfinv = 10'h355;
        10'h0ad : func_gfinv = 10'h2fe;
        10'h0ae : func_gfinv = 10'h31d;
        10'h0af : func_gfinv = 10'h099;
        10'h0b0 : func_gfinv = 10'h20f;
        10'h0b1 : func_gfinv = 10'h1e5;
        10'h0b2 : func_gfinv = 10'h22a;
        10'h0b3 : func_gfinv = 10'h120;
        10'h0b4 : func_gfinv = 10'h382;
        10'h0b5 : func_gfinv = 10'h2c6;
        10'h0b6 : func_gfinv = 10'h09a;
        10'h0b7 : func_gfinv = 10'h0cf;
        10'h0b8 : func_gfinv = 10'h00b;
        10'h0b9 : func_gfinv = 10'h352;
        10'h0ba : func_gfinv = 10'h228;
        10'h0bb : func_gfinv = 10'h269;
        10'h0bc : func_gfinv = 10'h280;
        10'h0bd : func_gfinv = 10'h3e5;
        10'h0be : func_gfinv = 10'h14a;
        10'h0bf : func_gfinv = 10'h3b8;
        10'h0c0 : func_gfinv = 10'h388;
        10'h0c1 : func_gfinv = 10'h392;
        10'h0c2 : func_gfinv = 10'h33e;
        10'h0c3 : func_gfinv = 10'h0dd;
        10'h0c4 : func_gfinv = 10'h364;
        10'h0c5 : func_gfinv = 10'h07d;
        10'h0c6 : func_gfinv = 10'h1c2;
        10'h0c7 : func_gfinv = 10'h260;
        10'h0c8 : func_gfinv = 10'h0fb;
        10'h0c9 : func_gfinv = 10'h267;
        10'h0ca : func_gfinv = 10'h2d1;
        10'h0cb : func_gfinv = 10'h2e5;
        10'h0cc : func_gfinv = 10'h1d1;
        10'h0cd : func_gfinv = 10'h203;
        10'h0ce : func_gfinv = 10'h09b;
        10'h0cf : func_gfinv = 10'h0b7;
        10'h0d0 : func_gfinv = 10'h20a;
        10'h0d1 : func_gfinv = 10'h31f;
        10'h0d2 : func_gfinv = 10'h159;
        10'h0d3 : func_gfinv = 10'h3af;
        10'h0d4 : func_gfinv = 10'h1ef;
        10'h0d5 : func_gfinv = 10'h3ee;
        10'h0d6 : func_gfinv = 10'h013;
        10'h0d7 : func_gfinv = 10'h323;
        10'h0d8 : func_gfinv = 10'h243;
        10'h0d9 : func_gfinv = 10'h310;
        10'h0da : func_gfinv = 10'h2ac;
        10'h0db : func_gfinv = 10'h259;
        10'h0dc : func_gfinv = 10'h33f;
        10'h0dd : func_gfinv = 10'h0c3;
        10'h0de : func_gfinv = 10'h313;
        10'h0df : func_gfinv = 10'h1e2;
        10'h0e0 : func_gfinv = 10'h1d5;
        10'h0e1 : func_gfinv = 10'h18c;
        10'h0e2 : func_gfinv = 10'h300;
        10'h0e3 : func_gfinv = 10'h234;
        10'h0e4 : func_gfinv = 10'h3f5;
        10'h0e5 : func_gfinv = 10'h117;
        10'h0e6 : func_gfinv = 10'h11f;
        10'h0e7 : func_gfinv = 10'h037;
        10'h0e8 : func_gfinv = 10'h00d;
        10'h0e9 : func_gfinv = 10'h0ff;
        10'h0ea : func_gfinv = 10'h31a;
        10'h0eb : func_gfinv = 10'h3cc;
        10'h0ec : func_gfinv = 10'h0ed;
        10'h0ed : func_gfinv = 10'h0ec;
        10'h0ee : func_gfinv = 10'h2fc;
        10'h0ef : func_gfinv = 10'h022;
        10'h0f0 : func_gfinv = 10'h0a7;
        10'h0f1 : func_gfinv = 10'h1be;
        10'h0f2 : func_gfinv = 10'h015;
        10'h0f3 : func_gfinv = 10'h3ac;
        10'h0f4 : func_gfinv = 10'h1f8;
        10'h0f5 : func_gfinv = 10'h12a;
        10'h0f6 : func_gfinv = 10'h24a;
        10'h0f7 : func_gfinv = 10'h3d7;
        10'h0f8 : func_gfinv = 10'h3b6;
        10'h0f9 : func_gfinv = 10'h216;
        10'h0fa : func_gfinv = 10'h266;
        10'h0fb : func_gfinv = 10'h0c8;
        10'h0fc : func_gfinv = 10'h1e8;
        10'h0fd : func_gfinv = 10'h051;
        10'h0fe : func_gfinv = 10'h00c;
        10'h0ff : func_gfinv = 10'h0e9;
        10'h100 : func_gfinv = 10'h126;
        10'h101 : func_gfinv = 10'h3a0;
        10'h102 : func_gfinv = 10'h004;
        10'h103 : func_gfinv = 10'h2ae;
        10'h104 : func_gfinv = 10'h35f;
        10'h105 : func_gfinv = 10'h1a0;
        10'h106 : func_gfinv = 10'h371;
        10'h107 : func_gfinv = 10'h3c8;
        10'h108 : func_gfinv = 10'h295;
        10'h109 : func_gfinv = 10'h05e;
        10'h10a : func_gfinv = 10'h214;
        10'h10b : func_gfinv = 10'h1f2;
        10'h10c : func_gfinv = 10'h327;
        10'h10d : func_gfinv = 10'h3bf;
        10'h10e : func_gfinv = 10'h225;
        10'h10f : func_gfinv = 10'h2cf;
        10'h110 : func_gfinv = 10'h39a;
        10'h111 : func_gfinv = 10'h1b9;
        10'h112 : func_gfinv = 10'h195;
        10'h113 : func_gfinv = 10'h36d;
        10'h114 : func_gfinv = 10'h174;
        10'h115 : func_gfinv = 10'h164;
        10'h116 : func_gfinv = 10'h3f4;
        10'h117 : func_gfinv = 10'h0e5;
        10'h118 : func_gfinv = 10'h2da;
        10'h119 : func_gfinv = 10'h14d;
        10'h11a : func_gfinv = 10'h1c6;
        10'h11b : func_gfinv = 10'h2a5;
        10'h11c : func_gfinv = 10'h0a8;
        10'h11d : func_gfinv = 10'h314;
        10'h11e : func_gfinv = 10'h036;
        10'h11f : func_gfinv = 10'h0e6;
        10'h120 : func_gfinv = 10'h0b3;
        10'h121 : func_gfinv = 10'h22b;
        10'h122 : func_gfinv = 10'h020;
        10'h123 : func_gfinv = 10'h084;
        10'h124 : func_gfinv = 10'h2bc;
        10'h125 : func_gfinv = 10'h1ec;
        10'h126 : func_gfinv = 10'h100;
        10'h127 : func_gfinv = 10'h3a1;
        10'h128 : func_gfinv = 10'h04f;
        10'h129 : func_gfinv = 10'h3ea;
        10'h12a : func_gfinv = 10'h0f5;
        10'h12b : func_gfinv = 10'h1f9;
        10'h12c : func_gfinv = 10'h153;
        10'h12d : func_gfinv = 10'h38f;
        10'h12e : func_gfinv = 10'h39d;
        10'h12f : func_gfinv = 10'h30a;
        10'h130 : func_gfinv = 10'h18e;
        10'h131 : func_gfinv = 10'h01e;
        10'h132 : func_gfinv = 10'h253;
        10'h133 : func_gfinv = 10'h1f4;
        10'h134 : func_gfinv = 10'h05b;
        10'h135 : func_gfinv = 10'h30c;
        10'h136 : func_gfinv = 10'h067;
        10'h137 : func_gfinv = 10'h3a3;
        10'h138 : func_gfinv = 10'h3fc;
        10'h139 : func_gfinv = 10'h3b0;
        10'h13a : func_gfinv = 10'h239;
        10'h13b : func_gfinv = 10'h055;
        10'h13c : func_gfinv = 10'h04a;
        10'h13d : func_gfinv = 10'h144;
        10'h13e : func_gfinv = 10'h2f1;
        10'h13f : func_gfinv = 10'h0a1;
        10'h140 : func_gfinv = 10'h178;
        10'h141 : func_gfinv = 10'h2e7;
        10'h142 : func_gfinv = 10'h29b;
        10'h143 : func_gfinv = 10'h289;
        10'h144 : func_gfinv = 10'h13d;
        10'h145 : func_gfinv = 10'h04b;
        10'h146 : func_gfinv = 10'h2ed;
        10'h147 : func_gfinv = 10'h199;
        10'h148 : func_gfinv = 10'h3b3;
        10'h149 : func_gfinv = 10'h227;
        10'h14a : func_gfinv = 10'h0be;
        10'h14b : func_gfinv = 10'h3b9;
        10'h14c : func_gfinv = 10'h2db;
        10'h14d : func_gfinv = 10'h119;
        10'h14e : func_gfinv = 10'h078;
        10'h14f : func_gfinv = 10'h02b;
        10'h150 : func_gfinv = 10'h08e;
        10'h151 : func_gfinv = 10'h06d;
        10'h152 : func_gfinv = 10'h38e;
        10'h153 : func_gfinv = 10'h12c;
        10'h154 : func_gfinv = 10'h348;
        10'h155 : func_gfinv = 10'h285;
        10'h156 : func_gfinv = 10'h1b4;
        10'h157 : func_gfinv = 10'h206;
        10'h158 : func_gfinv = 10'h3ae;
        10'h159 : func_gfinv = 10'h0d2;
        10'h15a : func_gfinv = 10'h17f;
        10'h15b : func_gfinv = 10'h1dd;
        10'h15c : func_gfinv = 10'h38a;
        10'h15d : func_gfinv = 10'h1a3;
        10'h15e : func_gfinv = 10'h248;
        10'h15f : func_gfinv = 10'h19d;
        10'h160 : func_gfinv = 10'h303;
        10'h161 : func_gfinv = 10'h359;
        10'h162 : func_gfinv = 10'h2f6;
        10'h163 : func_gfinv = 10'h16a;
        10'h164 : func_gfinv = 10'h115;
        10'h165 : func_gfinv = 10'h175;
        10'h166 : func_gfinv = 10'h090;
        10'h167 : func_gfinv = 10'h041;
        10'h168 : func_gfinv = 10'h1c1;
        10'h169 : func_gfinv = 10'h2ef;
        10'h16a : func_gfinv = 10'h163;
        10'h16b : func_gfinv = 10'h2f7;
        10'h16c : func_gfinv = 10'h04d;
        10'h16d : func_gfinv = 10'h230;
        10'h16e : func_gfinv = 10'h263;
        10'h16f : func_gfinv = 10'h00e;
        10'h170 : func_gfinv = 10'h201;
        10'h171 : func_gfinv = 10'h092;
        10'h172 : func_gfinv = 10'h1a9;
        10'h173 : func_gfinv = 10'h2f2;
        10'h174 : func_gfinv = 10'h114;
        10'h175 : func_gfinv = 10'h165;
        10'h176 : func_gfinv = 10'h330;
        10'h177 : func_gfinv = 10'h380;
        10'h178 : func_gfinv = 10'h140;
        10'h179 : func_gfinv = 10'h2e6;
        10'h17a : func_gfinv = 10'h3f6;
        10'h17b : func_gfinv = 10'h2c4;
        10'h17c : func_gfinv = 10'h0a5;
        10'h17d : func_gfinv = 10'h36e;
        10'h17e : func_gfinv = 10'h1dc;
        10'h17f : func_gfinv = 10'h15a;
        10'h180 : func_gfinv = 10'h1c4;
        10'h181 : func_gfinv = 10'h2b9;
        10'h182 : func_gfinv = 10'h1c9;
        10'h183 : func_gfinv = 10'h3ff;
        10'h184 : func_gfinv = 10'h19f;
        10'h185 : func_gfinv = 10'h25e;
        10'h186 : func_gfinv = 10'h26a;
        10'h187 : func_gfinv = 10'h3c5;
        10'h188 : func_gfinv = 10'h1b2;
        10'h189 : func_gfinv = 10'h3c6;
        10'h18a : func_gfinv = 10'h23a;
        10'h18b : func_gfinv = 10'h031;
        10'h18c : func_gfinv = 10'h0e1;
        10'h18d : func_gfinv = 10'h1d4;
        10'h18e : func_gfinv = 10'h130;
        10'h18f : func_gfinv = 10'h01f;
        10'h190 : func_gfinv = 10'h279;
        10'h191 : func_gfinv = 10'h024;
        10'h192 : func_gfinv = 10'h337;
        10'h193 : func_gfinv = 10'h375;
        10'h194 : func_gfinv = 10'h36c;
        10'h195 : func_gfinv = 10'h112;
        10'h196 : func_gfinv = 10'h376;
        10'h197 : func_gfinv = 10'h283;
        10'h198 : func_gfinv = 10'h2ec;
        10'h199 : func_gfinv = 10'h147;
        10'h19a : func_gfinv = 10'h305;
        10'h19b : func_gfinv = 10'h2e1;
        10'h19c : func_gfinv = 10'h249;
        10'h19d : func_gfinv = 10'h15f;
        10'h19e : func_gfinv = 10'h25f;
        10'h19f : func_gfinv = 10'h184;
        10'h1a0 : func_gfinv = 10'h105;
        10'h1a1 : func_gfinv = 10'h35e;
        10'h1a2 : func_gfinv = 10'h38b;
        10'h1a3 : func_gfinv = 10'h15d;
        10'h1a4 : func_gfinv = 10'h2a8;
        10'h1a5 : func_gfinv = 10'h3bb;
        10'h1a6 : func_gfinv = 10'h3d3;
        10'h1a7 : func_gfinv = 10'h029;
        10'h1a8 : func_gfinv = 10'h2f3;
        10'h1a9 : func_gfinv = 10'h172;
        10'h1aa : func_gfinv = 10'h1f7;
        10'h1ab : func_gfinv = 10'h065;
        10'h1ac : func_gfinv = 10'h20d;
        10'h1ad : func_gfinv = 10'h3bd;
        10'h1ae : func_gfinv = 10'h395;
        10'h1af : func_gfinv = 10'h342;
        10'h1b0 : func_gfinv = 10'h325;
        10'h1b1 : func_gfinv = 10'h39e;
        10'h1b2 : func_gfinv = 10'h188;
        10'h1b3 : func_gfinv = 10'h3c7;
        10'h1b4 : func_gfinv = 10'h156;
        10'h1b5 : func_gfinv = 10'h207;
        10'h1b6 : func_gfinv = 10'h328;
        10'h1b7 : func_gfinv = 10'h2fa;
        10'h1b8 : func_gfinv = 10'h39b;
        10'h1b9 : func_gfinv = 10'h111;
        10'h1ba : func_gfinv = 10'h265;
        10'h1bb : func_gfinv = 10'h32c;
        10'h1bc : func_gfinv = 10'h38d;
        10'h1bd : func_gfinv = 10'h08c;
        10'h1be : func_gfinv = 10'h0f1;
        10'h1bf : func_gfinv = 10'h0a6;
        10'h1c0 : func_gfinv = 10'h2ee;
        10'h1c1 : func_gfinv = 10'h168;
        10'h1c2 : func_gfinv = 10'h0c6;
        10'h1c3 : func_gfinv = 10'h261;
        10'h1c4 : func_gfinv = 10'h180;
        10'h1c5 : func_gfinv = 10'h2b8;
        10'h1c6 : func_gfinv = 10'h11a;
        10'h1c7 : func_gfinv = 10'h2a4;
        10'h1c8 : func_gfinv = 10'h3fe;
        10'h1c9 : func_gfinv = 10'h182;
        10'h1ca : func_gfinv = 10'h28f;
        10'h1cb : func_gfinv = 10'h2c9;
        10'h1cc : func_gfinv = 10'h28b;
        10'h1cd : func_gfinv = 10'h220;
        10'h1ce : func_gfinv = 10'h21f;
        10'h1cf : func_gfinv = 10'h362;
        10'h1d0 : func_gfinv = 10'h202;
        10'h1d1 : func_gfinv = 10'h0cc;
        10'h1d2 : func_gfinv = 10'h27b;
        10'h1d3 : func_gfinv = 10'h0a3;
        10'h1d4 : func_gfinv = 10'h18d;
        10'h1d5 : func_gfinv = 10'h0e0;
        10'h1d6 : func_gfinv = 10'h1e6;
        10'h1d7 : func_gfinv = 10'h2b0;
        10'h1d8 : func_gfinv = 10'h272;
        10'h1d9 : func_gfinv = 10'h045;
        10'h1da : func_gfinv = 10'h076;
        10'h1db : func_gfinv = 10'h1f0;
        10'h1dc : func_gfinv = 10'h17e;
        10'h1dd : func_gfinv = 10'h15b;
        10'h1de : func_gfinv = 10'h011;
        10'h1df : func_gfinv = 10'h245;
        10'h1e0 : func_gfinv = 10'h257;
        10'h1e1 : func_gfinv = 10'h2f9;
        10'h1e2 : func_gfinv = 10'h0df;
        10'h1e3 : func_gfinv = 10'h312;
        10'h1e4 : func_gfinv = 10'h20e;
        10'h1e5 : func_gfinv = 10'h0b1;
        10'h1e6 : func_gfinv = 10'h1d6;
        10'h1e7 : func_gfinv = 10'h2b1;
        10'h1e8 : func_gfinv = 10'h0fc;
        10'h1e9 : func_gfinv = 10'h050;
        10'h1ea : func_gfinv = 10'h095;
        10'h1eb : func_gfinv = 10'h09f;
        10'h1ec : func_gfinv = 10'h125;
        10'h1ed : func_gfinv = 10'h2bd;
        10'h1ee : func_gfinv = 10'h3ef;
        10'h1ef : func_gfinv = 10'h0d4;
        10'h1f0 : func_gfinv = 10'h1db;
        10'h1f1 : func_gfinv = 10'h077;
        10'h1f2 : func_gfinv = 10'h10b;
        10'h1f3 : func_gfinv = 10'h215;
        10'h1f4 : func_gfinv = 10'h133;
        10'h1f5 : func_gfinv = 10'h252;
        10'h1f6 : func_gfinv = 10'h064;
        10'h1f7 : func_gfinv = 10'h1aa;
        10'h1f8 : func_gfinv = 10'h0f4;
        10'h1f9 : func_gfinv = 10'h12b;
        10'h1fa : func_gfinv = 10'h22c;
        10'h1fb : func_gfinv = 10'h2f4;
        10'h1fc : func_gfinv = 10'h006;
        10'h1fd : func_gfinv = 10'h2df;
        10'h1fe : func_gfinv = 10'h270;
        10'h1ff : func_gfinv = 10'h390;
        10'h200 : func_gfinv = 10'h093;
        10'h201 : func_gfinv = 10'h170;
        10'h202 : func_gfinv = 10'h1d0;
        10'h203 : func_gfinv = 10'h0cd;
        10'h204 : func_gfinv = 10'h002;
        10'h205 : func_gfinv = 10'h3f9;
        10'h206 : func_gfinv = 10'h157;
        10'h207 : func_gfinv = 10'h1b5;
        10'h208 : func_gfinv = 10'h3ab;
        10'h209 : func_gfinv = 10'h071;
        10'h20a : func_gfinv = 10'h0d0;
        10'h20b : func_gfinv = 10'h31e;
        10'h20c : func_gfinv = 10'h3bc;
        10'h20d : func_gfinv = 10'h1ac;
        10'h20e : func_gfinv = 10'h1e4;
        10'h20f : func_gfinv = 10'h0b0;
        10'h210 : func_gfinv = 10'h34e;
        10'h211 : func_gfinv = 10'h29e;
        10'h212 : func_gfinv = 10'h02f;
        10'h213 : func_gfinv = 10'h02d;
        10'h214 : func_gfinv = 10'h10a;
        10'h215 : func_gfinv = 10'h1f3;
        10'h216 : func_gfinv = 10'h0f9;
        10'h217 : func_gfinv = 10'h3b7;
        10'h218 : func_gfinv = 10'h397;
        10'h219 : func_gfinv = 10'h361;
        10'h21a : func_gfinv = 10'h3db;
        10'h21b : func_gfinv = 10'h35b;
        10'h21c : func_gfinv = 10'h316;
        10'h21d : func_gfinv = 10'h293;
        10'h21e : func_gfinv = 10'h363;
        10'h21f : func_gfinv = 10'h1ce;
        10'h220 : func_gfinv = 10'h1cd;
        10'h221 : func_gfinv = 10'h28a;
        10'h222 : func_gfinv = 10'h2d8;
        10'h223 : func_gfinv = 10'h250;
        10'h224 : func_gfinv = 10'h2ce;
        10'h225 : func_gfinv = 10'h10e;
        10'h226 : func_gfinv = 10'h3b2;
        10'h227 : func_gfinv = 10'h149;
        10'h228 : func_gfinv = 10'h0ba;
        10'h229 : func_gfinv = 10'h268;
        10'h22a : func_gfinv = 10'h0b2;
        10'h22b : func_gfinv = 10'h121;
        10'h22c : func_gfinv = 10'h1fa;
        10'h22d : func_gfinv = 10'h2f5;
        10'h22e : func_gfinv = 10'h276;
        10'h22f : func_gfinv = 10'h06f;
        10'h230 : func_gfinv = 10'h16d;
        10'h231 : func_gfinv = 10'h04c;
        10'h232 : func_gfinv = 10'h2a2;
        10'h233 : func_gfinv = 10'h057;
        10'h234 : func_gfinv = 10'h0e3;
        10'h235 : func_gfinv = 10'h301;
        10'h236 : func_gfinv = 10'h356;
        10'h237 : func_gfinv = 10'h26c;
        10'h238 : func_gfinv = 10'h054;
        10'h239 : func_gfinv = 10'h13a;
        10'h23a : func_gfinv = 10'h18a;
        10'h23b : func_gfinv = 10'h030;
        10'h23c : func_gfinv = 10'h01b;
        10'h23d : func_gfinv = 10'h075;
        10'h23e : func_gfinv = 10'h073;
        10'h23f : func_gfinv = 10'h3e2;
        10'h240 : func_gfinv = 10'h25d;
        10'h241 : func_gfinv = 10'h3cb;
        10'h242 : func_gfinv = 10'h311;
        10'h243 : func_gfinv = 10'h0d8;
        10'h244 : func_gfinv = 10'h010;
        10'h245 : func_gfinv = 10'h1df;
        10'h246 : func_gfinv = 10'h042;
        10'h247 : func_gfinv = 10'h086;
        10'h248 : func_gfinv = 10'h15e;
        10'h249 : func_gfinv = 10'h19c;
        10'h24a : func_gfinv = 10'h0f6;
        10'h24b : func_gfinv = 10'h3d6;
        10'h24c : func_gfinv = 10'h080;
        10'h24d : func_gfinv = 10'h009;
        10'h24e : func_gfinv = 10'h3d4;
        10'h24f : func_gfinv = 10'h26f;
        10'h250 : func_gfinv = 10'h223;
        10'h251 : func_gfinv = 10'h2d9;
        10'h252 : func_gfinv = 10'h1f5;
        10'h253 : func_gfinv = 10'h132;
        10'h254 : func_gfinv = 10'h27e;
        10'h255 : func_gfinv = 10'h3a6;
        10'h256 : func_gfinv = 10'h2f8;
        10'h257 : func_gfinv = 10'h1e0;
        10'h258 : func_gfinv = 10'h2ad;
        10'h259 : func_gfinv = 10'h0db;
        10'h25a : func_gfinv = 10'h3c3;
        10'h25b : func_gfinv = 10'h379;
        10'h25c : func_gfinv = 10'h3ca;
        10'h25d : func_gfinv = 10'h240;
        10'h25e : func_gfinv = 10'h185;
        10'h25f : func_gfinv = 10'h19e;
        10'h260 : func_gfinv = 10'h0c7;
        10'h261 : func_gfinv = 10'h1c3;
        10'h262 : func_gfinv = 10'h00f;
        10'h263 : func_gfinv = 10'h16e;
        10'h264 : func_gfinv = 10'h32d;
        10'h265 : func_gfinv = 10'h1ba;
        10'h266 : func_gfinv = 10'h0fa;
        10'h267 : func_gfinv = 10'h0c9;
        10'h268 : func_gfinv = 10'h229;
        10'h269 : func_gfinv = 10'h0bb;
        10'h26a : func_gfinv = 10'h186;
        10'h26b : func_gfinv = 10'h3c4;
        10'h26c : func_gfinv = 10'h237;
        10'h26d : func_gfinv = 10'h357;
        10'h26e : func_gfinv = 10'h3d5;
        10'h26f : func_gfinv = 10'h24f;
        10'h270 : func_gfinv = 10'h1fe;
        10'h271 : func_gfinv = 10'h391;
        10'h272 : func_gfinv = 10'h1d8;
        10'h273 : func_gfinv = 10'h044;
        10'h274 : func_gfinv = 10'h318;
        10'h275 : func_gfinv = 10'h061;
        10'h276 : func_gfinv = 10'h22e;
        10'h277 : func_gfinv = 10'h06e;
        10'h278 : func_gfinv = 10'h025;
        10'h279 : func_gfinv = 10'h190;
        10'h27a : func_gfinv = 10'h0a2;
        10'h27b : func_gfinv = 10'h1d2;
        10'h27c : func_gfinv = 10'h37c;
        10'h27d : func_gfinv = 10'h351;
        10'h27e : func_gfinv = 10'h254;
        10'h27f : func_gfinv = 10'h3a7;
        10'h280 : func_gfinv = 10'h0bc;
        10'h281 : func_gfinv = 10'h3e4;
        10'h282 : func_gfinv = 10'h377;
        10'h283 : func_gfinv = 10'h197;
        10'h284 : func_gfinv = 10'h349;
        10'h285 : func_gfinv = 10'h155;
        10'h286 : func_gfinv = 10'h340;
        10'h287 : func_gfinv = 10'h399;
        10'h288 : func_gfinv = 10'h29a;
        10'h289 : func_gfinv = 10'h143;
        10'h28a : func_gfinv = 10'h221;
        10'h28b : func_gfinv = 10'h1cc;
        10'h28c : func_gfinv = 10'h372;
        10'h28d : func_gfinv = 10'h2d3;
        10'h28e : func_gfinv = 10'h2c8;
        10'h28f : func_gfinv = 10'h1ca;
        10'h290 : func_gfinv = 10'h3dd;
        10'h291 : func_gfinv = 10'h3f2;
        10'h292 : func_gfinv = 10'h317;
        10'h293 : func_gfinv = 10'h21d;
        10'h294 : func_gfinv = 10'h05f;
        10'h295 : func_gfinv = 10'h108;
        10'h296 : func_gfinv = 10'h3d8;
        10'h297 : func_gfinv = 10'h34b;
        10'h298 : func_gfinv = 10'h369;
        10'h299 : func_gfinv = 10'h0aa;
        10'h29a : func_gfinv = 10'h288;
        10'h29b : func_gfinv = 10'h142;
        10'h29c : func_gfinv = 10'h03c;
        10'h29d : func_gfinv = 10'h3e8;
        10'h29e : func_gfinv = 10'h211;
        10'h29f : func_gfinv = 10'h34f;
        10'h2a0 : func_gfinv = 10'h047;
        10'h2a1 : func_gfinv = 10'h37b;
        10'h2a2 : func_gfinv = 10'h232;
        10'h2a3 : func_gfinv = 10'h056;
        10'h2a4 : func_gfinv = 10'h1c7;
        10'h2a5 : func_gfinv = 10'h11b;
        10'h2a6 : func_gfinv = 10'h096;
        10'h2a7 : func_gfinv = 10'h332;
        10'h2a8 : func_gfinv = 10'h1a4;
        10'h2a9 : func_gfinv = 10'h3ba;
        10'h2aa : func_gfinv = 10'h346;
        10'h2ab : func_gfinv = 10'h33a;
        10'h2ac : func_gfinv = 10'h0da;
        10'h2ad : func_gfinv = 10'h258;
        10'h2ae : func_gfinv = 10'h103;
        10'h2af : func_gfinv = 10'h005;
        10'h2b0 : func_gfinv = 10'h1d7;
        10'h2b1 : func_gfinv = 10'h1e7;
        10'h2b2 : func_gfinv = 10'h069;
        10'h2b3 : func_gfinv = 10'h01c;
        10'h2b4 : func_gfinv = 10'h2bb;
        10'h2b5 : func_gfinv = 10'h2d4;
        10'h2b6 : func_gfinv = 10'h2ea;
        10'h2b7 : func_gfinv = 10'h082;
        10'h2b8 : func_gfinv = 10'h1c5;
        10'h2b9 : func_gfinv = 10'h181;
        10'h2ba : func_gfinv = 10'h2d5;
        10'h2bb : func_gfinv = 10'h2b4;
        10'h2bc : func_gfinv = 10'h124;
        10'h2bd : func_gfinv = 10'h1ed;
        10'h2be : func_gfinv = 10'h2ca;
        10'h2bf : func_gfinv = 10'h309;
        10'h2c0 : func_gfinv = 10'h385;
        10'h2c1 : func_gfinv = 10'h062;
        10'h2c2 : func_gfinv = 10'h3a8;
        10'h2c3 : func_gfinv = 10'h03e;
        10'h2c4 : func_gfinv = 10'h17b;
        10'h2c5 : func_gfinv = 10'h3f7;
        10'h2c6 : func_gfinv = 10'h0b5;
        10'h2c7 : func_gfinv = 10'h383;
        10'h2c8 : func_gfinv = 10'h28e;
        10'h2c9 : func_gfinv = 10'h1cb;
        10'h2ca : func_gfinv = 10'h2be;
        10'h2cb : func_gfinv = 10'h308;
        10'h2cc : func_gfinv = 10'h048;
        10'h2cd : func_gfinv = 10'h2e3;
        10'h2ce : func_gfinv = 10'h224;
        10'h2cf : func_gfinv = 10'h10f;
        10'h2d0 : func_gfinv = 10'h2e4;
        10'h2d1 : func_gfinv = 10'h0ca;
        10'h2d2 : func_gfinv = 10'h373;
        10'h2d3 : func_gfinv = 10'h28d;
        10'h2d4 : func_gfinv = 10'h2b5;
        10'h2d5 : func_gfinv = 10'h2ba;
        10'h2d6 : func_gfinv = 10'h37f;
        10'h2d7 : func_gfinv = 10'h052;
        10'h2d8 : func_gfinv = 10'h222;
        10'h2d9 : func_gfinv = 10'h251;
        10'h2da : func_gfinv = 10'h118;
        10'h2db : func_gfinv = 10'h14c;
        10'h2dc : func_gfinv = 10'h335;
        10'h2dd : func_gfinv = 10'h387;
        10'h2de : func_gfinv = 10'h007;
        10'h2df : func_gfinv = 10'h1fd;
        10'h2e0 : func_gfinv = 10'h304;
        10'h2e1 : func_gfinv = 10'h19b;
        10'h2e2 : func_gfinv = 10'h049;
        10'h2e3 : func_gfinv = 10'h2cd;
        10'h2e4 : func_gfinv = 10'h2d0;
        10'h2e5 : func_gfinv = 10'h0cb;
        10'h2e6 : func_gfinv = 10'h179;
        10'h2e7 : func_gfinv = 10'h141;
        10'h2e8 : func_gfinv = 10'h08a;
        10'h2e9 : func_gfinv = 10'h3e0;
        10'h2ea : func_gfinv = 10'h2b6;
        10'h2eb : func_gfinv = 10'h083;
        10'h2ec : func_gfinv = 10'h198;
        10'h2ed : func_gfinv = 10'h146;
        10'h2ee : func_gfinv = 10'h1c0;
        10'h2ef : func_gfinv = 10'h169;
        10'h2f0 : func_gfinv = 10'h0a0;
        10'h2f1 : func_gfinv = 10'h13e;
        10'h2f2 : func_gfinv = 10'h173;
        10'h2f3 : func_gfinv = 10'h1a8;
        10'h2f4 : func_gfinv = 10'h1fb;
        10'h2f5 : func_gfinv = 10'h22d;
        10'h2f6 : func_gfinv = 10'h162;
        10'h2f7 : func_gfinv = 10'h16b;
        10'h2f8 : func_gfinv = 10'h256;
        10'h2f9 : func_gfinv = 10'h1e1;
        10'h2fa : func_gfinv = 10'h1b7;
        10'h2fb : func_gfinv = 10'h329;
        10'h2fc : func_gfinv = 10'h0ee;
        10'h2fd : func_gfinv = 10'h023;
        10'h2fe : func_gfinv = 10'h0ad;
        10'h2ff : func_gfinv = 10'h354;
        10'h300 : func_gfinv = 10'h0e2;
        10'h301 : func_gfinv = 10'h235;
        10'h302 : func_gfinv = 10'h358;
        10'h303 : func_gfinv = 10'h160;
        10'h304 : func_gfinv = 10'h2e0;
        10'h305 : func_gfinv = 10'h19a;
        10'h306 : func_gfinv = 10'h3fb;
        10'h307 : func_gfinv = 10'h36a;
        10'h308 : func_gfinv = 10'h2cb;
        10'h309 : func_gfinv = 10'h2bf;
        10'h30a : func_gfinv = 10'h12f;
        10'h30b : func_gfinv = 10'h39c;
        10'h30c : func_gfinv = 10'h135;
        10'h30d : func_gfinv = 10'h05a;
        10'h30e : func_gfinv = 10'h3e6;
        10'h30f : func_gfinv = 10'h367;
        10'h310 : func_gfinv = 10'h0d9;
        10'h311 : func_gfinv = 10'h242;
        10'h312 : func_gfinv = 10'h1e3;
        10'h313 : func_gfinv = 10'h0de;
        10'h314 : func_gfinv = 10'h11d;
        10'h315 : func_gfinv = 10'h0a9;
        10'h316 : func_gfinv = 10'h21c;
        10'h317 : func_gfinv = 10'h292;
        10'h318 : func_gfinv = 10'h274;
        10'h319 : func_gfinv = 10'h060;
        10'h31a : func_gfinv = 10'h0ea;
        10'h31b : func_gfinv = 10'h3cd;
        10'h31c : func_gfinv = 10'h098;
        10'h31d : func_gfinv = 10'h0ae;
        10'h31e : func_gfinv = 10'h20b;
        10'h31f : func_gfinv = 10'h0d1;
        10'h320 : func_gfinv = 10'h338;
        10'h321 : func_gfinv = 10'h3a5;
        10'h322 : func_gfinv = 10'h012;
        10'h323 : func_gfinv = 10'h0d7;
        10'h324 : func_gfinv = 10'h39f;
        10'h325 : func_gfinv = 10'h1b0;
        10'h326 : func_gfinv = 10'h3be;
        10'h327 : func_gfinv = 10'h10c;
        10'h328 : func_gfinv = 10'h1b6;
        10'h329 : func_gfinv = 10'h2fb;
        10'h32a : func_gfinv = 10'h089;
        10'h32b : func_gfinv = 10'h33c;
        10'h32c : func_gfinv = 10'h1bb;
        10'h32d : func_gfinv = 10'h264;
        10'h32e : func_gfinv = 10'h345;
        10'h32f : func_gfinv = 10'h3c0;
        10'h330 : func_gfinv = 10'h176;
        10'h331 : func_gfinv = 10'h381;
        10'h332 : func_gfinv = 10'h2a7;
        10'h333 : func_gfinv = 10'h097;
        10'h334 : func_gfinv = 10'h386;
        10'h335 : func_gfinv = 10'h2dc;
        10'h336 : func_gfinv = 10'h374;
        10'h337 : func_gfinv = 10'h192;
        10'h338 : func_gfinv = 10'h320;
        10'h339 : func_gfinv = 10'h3a4;
        10'h33a : func_gfinv = 10'h2ab;
        10'h33b : func_gfinv = 10'h347;
        10'h33c : func_gfinv = 10'h32b;
        10'h33d : func_gfinv = 10'h088;
        10'h33e : func_gfinv = 10'h0c2;
        10'h33f : func_gfinv = 10'h0dc;
        10'h340 : func_gfinv = 10'h286;
        10'h341 : func_gfinv = 10'h398;
        10'h342 : func_gfinv = 10'h1af;
        10'h343 : func_gfinv = 10'h394;
        10'h344 : func_gfinv = 10'h3c1;
        10'h345 : func_gfinv = 10'h32e;
        10'h346 : func_gfinv = 10'h2aa;
        10'h347 : func_gfinv = 10'h33b;
        10'h348 : func_gfinv = 10'h154;
        10'h349 : func_gfinv = 10'h284;
        10'h34a : func_gfinv = 10'h3d9;
        10'h34b : func_gfinv = 10'h297;
        10'h34c : func_gfinv = 10'h3ed;
        10'h34d : func_gfinv = 10'h033;
        10'h34e : func_gfinv = 10'h210;
        10'h34f : func_gfinv = 10'h29f;
        10'h350 : func_gfinv = 10'h37d;
        10'h351 : func_gfinv = 10'h27d;
        10'h352 : func_gfinv = 10'h0b9;
        10'h353 : func_gfinv = 10'h00a;
        10'h354 : func_gfinv = 10'h2ff;
        10'h355 : func_gfinv = 10'h0ac;
        10'h356 : func_gfinv = 10'h236;
        10'h357 : func_gfinv = 10'h26d;
        10'h358 : func_gfinv = 10'h302;
        10'h359 : func_gfinv = 10'h161;
        10'h35a : func_gfinv = 10'h3da;
        10'h35b : func_gfinv = 10'h21b;
        10'h35c : func_gfinv = 10'h3ce;
        10'h35d : func_gfinv = 10'h038;
        10'h35e : func_gfinv = 10'h1a1;
        10'h35f : func_gfinv = 10'h104;
        10'h360 : func_gfinv = 10'h396;
        10'h361 : func_gfinv = 10'h219;
        10'h362 : func_gfinv = 10'h1cf;
        10'h363 : func_gfinv = 10'h21e;
        10'h364 : func_gfinv = 10'h0c4;
        10'h365 : func_gfinv = 10'h07c;
        10'h366 : func_gfinv = 10'h3e7;
        10'h367 : func_gfinv = 10'h30f;
        10'h368 : func_gfinv = 10'h0ab;
        10'h369 : func_gfinv = 10'h298;
        10'h36a : func_gfinv = 10'h307;
        10'h36b : func_gfinv = 10'h3fa;
        10'h36c : func_gfinv = 10'h194;
        10'h36d : func_gfinv = 10'h113;
        10'h36e : func_gfinv = 10'h17d;
        10'h36f : func_gfinv = 10'h0a4;
        10'h370 : func_gfinv = 10'h3c9;
        10'h371 : func_gfinv = 10'h106;
        10'h372 : func_gfinv = 10'h28c;
        10'h373 : func_gfinv = 10'h2d2;
        10'h374 : func_gfinv = 10'h336;
        10'h375 : func_gfinv = 10'h193;
        10'h376 : func_gfinv = 10'h196;
        10'h377 : func_gfinv = 10'h282;
        10'h378 : func_gfinv = 10'h3c2;
        10'h379 : func_gfinv = 10'h25b;
        10'h37a : func_gfinv = 10'h046;
        10'h37b : func_gfinv = 10'h2a1;
        10'h37c : func_gfinv = 10'h27c;
        10'h37d : func_gfinv = 10'h350;
        10'h37e : func_gfinv = 10'h053;
        10'h37f : func_gfinv = 10'h2d6;
        10'h380 : func_gfinv = 10'h177;
        10'h381 : func_gfinv = 10'h331;
        10'h382 : func_gfinv = 10'h0b4;
        10'h383 : func_gfinv = 10'h2c7;
        10'h384 : func_gfinv = 10'h063;
        10'h385 : func_gfinv = 10'h2c0;
        10'h386 : func_gfinv = 10'h334;
        10'h387 : func_gfinv = 10'h2dd;
        10'h388 : func_gfinv = 10'h0c0;
        10'h389 : func_gfinv = 10'h393;
        10'h38a : func_gfinv = 10'h15c;
        10'h38b : func_gfinv = 10'h1a2;
        10'h38c : func_gfinv = 10'h08d;
        10'h38d : func_gfinv = 10'h1bc;
        10'h38e : func_gfinv = 10'h152;
        10'h38f : func_gfinv = 10'h12d;
        10'h390 : func_gfinv = 10'h1ff;
        10'h391 : func_gfinv = 10'h271;
        10'h392 : func_gfinv = 10'h0c1;
        10'h393 : func_gfinv = 10'h389;
        10'h394 : func_gfinv = 10'h343;
        10'h395 : func_gfinv = 10'h1ae;
        10'h396 : func_gfinv = 10'h360;
        10'h397 : func_gfinv = 10'h218;
        10'h398 : func_gfinv = 10'h341;
        10'h399 : func_gfinv = 10'h287;
        10'h39a : func_gfinv = 10'h110;
        10'h39b : func_gfinv = 10'h1b8;
        10'h39c : func_gfinv = 10'h30b;
        10'h39d : func_gfinv = 10'h12e;
        10'h39e : func_gfinv = 10'h1b1;
        10'h39f : func_gfinv = 10'h324;
        10'h3a0 : func_gfinv = 10'h101;
        10'h3a1 : func_gfinv = 10'h127;
        10'h3a2 : func_gfinv = 10'h066;
        10'h3a3 : func_gfinv = 10'h137;
        10'h3a4 : func_gfinv = 10'h339;
        10'h3a5 : func_gfinv = 10'h321;
        10'h3a6 : func_gfinv = 10'h255;
        10'h3a7 : func_gfinv = 10'h27f;
        10'h3a8 : func_gfinv = 10'h2c2;
        10'h3a9 : func_gfinv = 10'h03f;
        10'h3aa : func_gfinv = 10'h070;
        10'h3ab : func_gfinv = 10'h208;
        10'h3ac : func_gfinv = 10'h0f3;
        10'h3ad : func_gfinv = 10'h014;
        10'h3ae : func_gfinv = 10'h158;
        10'h3af : func_gfinv = 10'h0d3;
        10'h3b0 : func_gfinv = 10'h139;
        10'h3b1 : func_gfinv = 10'h3fd;
        10'h3b2 : func_gfinv = 10'h226;
        10'h3b3 : func_gfinv = 10'h148;
        10'h3b4 : func_gfinv = 10'h03b;
        10'h3b5 : func_gfinv = 10'h035;
        10'h3b6 : func_gfinv = 10'h0f8;
        10'h3b7 : func_gfinv = 10'h217;
        10'h3b8 : func_gfinv = 10'h0bf;
        10'h3b9 : func_gfinv = 10'h14b;
        10'h3ba : func_gfinv = 10'h2a9;
        10'h3bb : func_gfinv = 10'h1a5;
        10'h3bc : func_gfinv = 10'h20c;
        10'h3bd : func_gfinv = 10'h1ad;
        10'h3be : func_gfinv = 10'h326;
        10'h3bf : func_gfinv = 10'h10d;
        10'h3c0 : func_gfinv = 10'h32f;
        10'h3c1 : func_gfinv = 10'h344;
        10'h3c2 : func_gfinv = 10'h378;
        10'h3c3 : func_gfinv = 10'h25a;
        10'h3c4 : func_gfinv = 10'h26b;
        10'h3c5 : func_gfinv = 10'h187;
        10'h3c6 : func_gfinv = 10'h189;
        10'h3c7 : func_gfinv = 10'h1b3;
        10'h3c8 : func_gfinv = 10'h107;
        10'h3c9 : func_gfinv = 10'h370;
        10'h3ca : func_gfinv = 10'h25c;
        10'h3cb : func_gfinv = 10'h241;
        10'h3cc : func_gfinv = 10'h0eb;
        10'h3cd : func_gfinv = 10'h31b;
        10'h3ce : func_gfinv = 10'h35c;
        10'h3cf : func_gfinv = 10'h039;
        10'h3d0 : func_gfinv = 10'h07e;
        10'h3d1 : func_gfinv = 10'h019;
        10'h3d2 : func_gfinv = 10'h028;
        10'h3d3 : func_gfinv = 10'h1a6;
        10'h3d4 : func_gfinv = 10'h24e;
        10'h3d5 : func_gfinv = 10'h26e;
        10'h3d6 : func_gfinv = 10'h24b;
        10'h3d7 : func_gfinv = 10'h0f7;
        10'h3d8 : func_gfinv = 10'h296;
        10'h3d9 : func_gfinv = 10'h34a;
        10'h3da : func_gfinv = 10'h35a;
        10'h3db : func_gfinv = 10'h21a;
        10'h3dc : func_gfinv = 10'h3f3;
        10'h3dd : func_gfinv = 10'h290;
        10'h3de : func_gfinv = 10'h06a;
        10'h3df : func_gfinv = 10'h027;
        10'h3e0 : func_gfinv = 10'h2e9;
        10'h3e1 : func_gfinv = 10'h08b;
        10'h3e2 : func_gfinv = 10'h23f;
        10'h3e3 : func_gfinv = 10'h072;
        10'h3e4 : func_gfinv = 10'h281;
        10'h3e5 : func_gfinv = 10'h0bd;
        10'h3e6 : func_gfinv = 10'h30e;
        10'h3e7 : func_gfinv = 10'h366;
        10'h3e8 : func_gfinv = 10'h29d;
        10'h3e9 : func_gfinv = 10'h03d;
        10'h3ea : func_gfinv = 10'h129;
        10'h3eb : func_gfinv = 10'h04e;
        10'h3ec : func_gfinv = 10'h032;
        10'h3ed : func_gfinv = 10'h34c;
        10'h3ee : func_gfinv = 10'h0d5;
        10'h3ef : func_gfinv = 10'h1ee;
        10'h3f0 : func_gfinv = 10'h07a;
        10'h3f1 : func_gfinv = 10'h09c;
        10'h3f2 : func_gfinv = 10'h291;
        10'h3f3 : func_gfinv = 10'h3dc;
        10'h3f4 : func_gfinv = 10'h116;
        10'h3f5 : func_gfinv = 10'h0e4;
        10'h3f6 : func_gfinv = 10'h17a;
        10'h3f7 : func_gfinv = 10'h2c5;
        10'h3f8 : func_gfinv = 10'h003;
        10'h3f9 : func_gfinv = 10'h205;
        10'h3fa : func_gfinv = 10'h36b;
        10'h3fb : func_gfinv = 10'h306;
        10'h3fc : func_gfinv = 10'h138;
        10'h3fd : func_gfinv = 10'h3b1;
        10'h3fe : func_gfinv = 10'h1c8;
        10'h3ff : func_gfinv = 10'h183;      
     endcase 

  end
  endfunction


